/*
 * 功能：日期 工具类
 * 需要传入的键：
 * 传入的值类型：
 * 传入的值含义：
 * 是否必传 ：
 * 作者：郑朝军 on 2019/4/7 23:23
 * 邮箱：1250393285@qq.com
 * 公司：武汉智博创享科技有限公司
 */
class DateUtil {
	static DataFormatsFull = "yyyy-MM-dd HH:mm:ss";
	static DataFormatsY_mo_d_h_m = "yyyy-MM-dd HH:mm";
	static DataFormatsY_mo_d = "yyyy-MM-dd";
	static DataFormatsY_mo = "yyyy-MM";
	static DataFormatsMo_d = "MM-dd";
	static DataFormatsMo_d_h_m = "MM-dd HH:mm";
	static DataFormatsMo_d_h_m = "HH:mm:ss";
	static DataFormatsMo_d_h_m = "HH:mm:ss";

	/**
	 * 获取当前时间
	 * @method 方法
	 * @param {参数类型=object} 参数说明 举例：type ={format: true} 或者 type === 'start' 或者 type === 'end'
	 * @return {返回参数类型=String}  返回参数说明 举例：2019-09-21
	 */
	static getNowDateStr(type) {
		const date = new Date();
		let year = date.getFullYear();
		let month = date.getMonth() + 1;
		let day = date.getDate();

		if (type === 'start') {
			year = year - 60;
		} else if (type === 'end') {
			year = year + 2;
		}
		month = month > 9 ? month : '0' + month;;
		day = day > 9 ? day : '0' + day;
		return `${year}-${month}-${day}`;
	}

	/**
	 * 获取当前时间
	 * @method 方法
	 * @param {参数类型=object} 参数说明 举例：type ={format: true} 或者 type === 'start' 或者 type === 'end'
	 * @return {返回参数类型=String}  返回参数说明 举例：2019-09-21 18:22:30
	 */
	static getNowDateFullStr(type) {
		const date = new Date();
		let year = date.getFullYear();
		let month = date.getMonth() + 1;
		let day = date.getDate();
		let hour = date.getHours();
		let minutes = date.getMinutes();
		let seconds = date.getSeconds();

		month = month > 9 ? month : '0' + month;;
		day = day > 9 ? day : '0' + day;
		return `${year}-${month}-${day} ${hour}:${minutes}:${seconds}`;
	}

	/**
	 * 获取当前时间
	 * @return {返回参数类型=String}  返回参数说明 举例：20190921022314
	 */
	static getNowDateSpaceStr() {
		const date = new Date();
		let year = date.getFullYear();
		let month = date.getMonth() + 1;
		let day = date.getDate();
		let hour = date.getHours();
		let minutes = date.getMinutes();
		let seconds = date.getSeconds();

		month = month > 9 ? month : '0' + month;;
		day = day > 9 ? day : '0' + day;
		return `${year}${month}${day}${hour}${minutes}${seconds}`;
	}
	
	/**
	 * 格式化时间
	 * @method 方法
	 * @param {String} 参数说明 举例：time = 1583514000000
	 * @return {返回参数类型=String}  返回参数说明 举例：2019-09-21 22:11:03
	 */
	static dataFormatsFull(time) {
		let date = new Date(time);
		let year = date.getFullYear();
		let month = date.getMonth() + 1;
		let day = date.getDate();
		let hour = date.getHours();
		let minutes = date.getMinutes();
		let seconds = date.getSeconds();
		
		month = month > 9 ? month : '0' + month;
		day = day > 9 ? day : '0' + day;
		return `${year}-${month}-${day} ${hour}:${minutes}:${seconds}`;
	}
}
export {
	DateUtil
}
